package top.infopub.mgr.bpa.dao;


import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import top.infopub.mgr.bpa.vo.BpaProjectBudgetDetail;
import top.infopub.model.bpa.ProjectBudgetDetail;

import java.util.List;

/**
 * 项目预结算详情 dao layer interface <br/>
 *
 * @author  TODO <br/>
 * @date    2021-06-18 21:11:24 <br/>
 * @since   1.0 <br/>
 */
@Repository
public interface BpaProjectBudgetDetailDao {

	/**
     * 新增数据 <br>
     * @param projectBudgetDetail BPA_PROJECT_BUDGET_DETAIL 参数对象  <br>
     * @return 新增的数据条数
     */
	int insert(ProjectBudgetDetail projectBudgetDetail);

	/**
     * 根据主键删除数据 <br>
     * @param id 产值确权主表  <br>
     * @return 删除的数据条数
     */
    int deleteByPrimaryKey(String id);

    int deleteByBudgetSguid(String budgetSguid);

	/**
     * 根据主键更新数据 <br>
     * @param projectBudgetDetail BPA_PROJECT_BUDGET_DETAIL 参数对象  <br>
     * @return 更新的数据条数
     */
    int updateByPrimaryKey(ProjectBudgetDetail projectBudgetDetail);

	/**
     * 根据主键查询数据 <br>
     * @param id 产值确权主表  <br>
     * @return BpaProjectBudgetDetail 数据对象
     */
    ProjectBudgetDetail selectOne(String id);

	/**
     * 根据传入参数查询数据列表 <br>
     * @param bpaProjectBudgetDetail BPA_PROJECT_BUDGET_DETAIL 参数对象  <br>
     * @return 符合条件的数据集合
     */
    List<BpaProjectBudgetDetail> selectList(BpaProjectBudgetDetail bpaProjectBudgetDetail);

	/**
     * 统计符合条件的数据数量 <br>
     * @param bpaProjectBudgetDetail BPA_PROJECT_BUDGET_DETAIL 参数对象  <br>
     * @return 符合条件的数据总数
     */
    int selectCount(BpaProjectBudgetDetail bpaProjectBudgetDetail);

	/**
	 * 根据主表sguid查询详情列表
	 * @param budgetSguid
	 * @return
	 */
	List<ProjectBudgetDetail> queryByBudgetSguid(@Param("budgetSguid") String budgetSguid);
}